package com.mioto.ld.module.alert.service;

import com.mioto.ld.component.BasePager;
import com.mioto.ld.module.alert.model.AlertConfig;
import com.mioto.ld.module.alert.model.AlertConfigDTO;
import com.mioto.ld.module.alert.model.AlertConfigDetailVO;
import com.mioto.ld.module.alert.model.AlertConfigPagerVO;

import java.util.List;

/**
 * IAlertConfigService
 *
 * @author mioto
 * @date 2024-05-20 23:49:39
 */
public interface IAlertConfigService{

    /**
     * 根据条件查询列表
     * @param alertConfig
     * @return
     */
    List<AlertConfig> findList(AlertConfig alertConfig);

    /**
     * 根据列名和对应的值查询对象
     * @param column
     * @param value
     * @return
     */
    AlertConfig findByColumn(String column, Object value);

    /**
     * 新增对象
     * @param alertConfig
     * @return
     */
    int insert(AlertConfigDTO alertConfig);

    /**
     * 修改对象
     * @param alertConfig
     * @return
     */
    int update(AlertConfig alertConfig);

    /**
     * 修改对象,忽略空值
     * @param alertConfig
     * @return
     */
    int updateIgnoreNull(AlertConfigDTO alertConfig);

    /**
     * 根据列名和对应的值删除对象
     * @param column
     * @param value
     * @return
     */
    int deleteByColumn(String column, Object value);

    /**
     * 根据主键列表批量删除
     * @param ids
     * @return
     */
    int batchDelete(Integer[] ids);

    List<AlertConfigPagerVO> pager(AlertConfig alertConfig, BasePager basePager);

    int findCount(AlertConfig alertConfig);

    AlertConfigDetailVO findDetail(int id);
}